line messaging api

วิธีใช้ LINE API

ต่อเนื่องจาก 2 บทที่ผ่านคือ การทำ LINE Bot ด้วย Python และ  LINE Messaging API ทำให้เราสามารถติดตั้ง Chatbot ได้ รวมถึงเข้าใจ flow การทำงานของ Messging API ต่อไปนี้เพื่อต่อยอดในการ ทำ LINE Bot ให้สมบูรณ์มากขึ้น เราจำเป็นต้องรู้ spec ของ LINE Messaging API ว่าใช้ protocol รวมถึง schema ของข้อมูลเป็นแบบใด เพื่อนำไปสู่การ ทำ LINE Bot ด้วยตัวเองและไม่เหมือนใคร

 

Messaging API Specifications

วิธีใช้ LINE API ทั้งหมด จะใช้ผ่าน HTTP/HTTPS Protocol โดยใช้ POST method และ ใช้ข้อมูล body message เป็น JSON format  เป็นตัวส่ง request ไปหา LINE Server ซึ่งอาจจะทำเป็น RESTful webservice

 

1. Rate limits

ในการใช้งาน LINE APIs ทุกชนิดจะมีข้อจำกัด หรือ limit ที่ทาง LINE set ไว้ตามระดับของ Id ที่เราสมัครไว้ ซึ่งโดยปกติแล้วของเราจะเป็น Developer Trial โดยจะสามารถส่ง APIs ไปยัง LINE Server ได้สูงสุดไม่เกิน 1000 request/min

Plan Limit
Developer Trial 1,000/min
Other plans 10,000/min

 

2. Status codes

คือ response จากฝั่ง LINE ที่ตอบกลับมาหา เพื่อแจ้งผลลัพธ์ของ request ที่เรา POST ไป

Error code Description
 200 OK  ถูกต้องตามกฎ
 400 Bad Request  ข้อมูลที่ส่งไปผิด format schema
 401 Unauthorized  Channel access token ไม่ถูกต้อง
 403 Forbidden  ฝั่ง Server ปฎิเสธ request  เนื่องจาก Account Id ไม่ได้รับอนุญาตในการใช้งานคำสั่งนั้น
 429 Too Many Requests  Request มากเกิน limit ของ Account Plan
 500 Internal Server Error  Server LINE มีปัญหา

 

3. Response headers

กรณีที่ได้รับ response Status code 200 OK ทาง LINE Server แปะ request-id กลับมาให้ ซึ่งจะไม่ซ้ำกันเลย

Response header Description
X-Line-Request-Id Generate จากฝั่ง LINE Server 

 

4. Error response

กรณีที่ได้รับ response Status code 200 OK แต่ทาง LINE Server ไม่สามารถ process คำสั่งนั้นได้ อาจจะเพราะข้อมูลไม่ครบถ้วน หรือ คำสั่งติดเงือนไขบางอย่าง ทาง LINE Server จะตอบ  error กลับมาพร้อมรายละเอียด

Field Type Description
message String บอกจำนวนที่ error
details[].message String รายละเอียดของ error

หรือ

Field Type Description
message String รายละเอียดของ error

สำหรับรายระเอียดจะอยู่ในหัวข้อ ต่อไป

 

5. Error messages

Message Description
 The request body has X error(s)  An error was found in the JSON data of the request body. The number of errors is displayed for “X”. Further details are shown in the details[].message and details[].property fields.
 Invalid reply token  An invalid reply token was used in the reply message
 The property, XXX, in the request body is invalid (line: XXX, column: XXX)  An invalid property was specified in the request body. The specific property is displayed for “XXX”.
 The request body could not be parsed as JSON (line: XXX, column: XXX)  The JSON in the request body could not be parsed. The specific line and column are displayed.
 The content type, XXX, is not supported  A content type not supported by the API is requested.
 Authentication failed due to the following reason: XXX  Authentication failed when the API was called. The reason is displayed for “XXX”.
 Access to this API is not available for your account  Appears when calling an API that you do not have permission to use.
 Failed to send messages  Appears when the message fails to be sent. One reason this may appear is if the user ID specified does not exist.

 

Messaging API

สำหรับ command ที่ทาง LINE ออกแบบมาให้ใช้งาน มีส่วนประกอบดังนี้

  • Webhooks – ใช้รับ Notification ที่เกิดขึ้นกับ LINE account แบบ realtime สามารถเอามา ทำ LINE Bot รับ message ได้
  • Reply message – ตอบ message กลับไปหา user ที่ส่ง message มา
  • Push message  – ส่ง message หา user ได้ตลอดเวลา
  • Multicast – ส่ง message หาหลายๆ user พร้อมกัน (broadcast)
  • Content – download รูป, video และ ข้อความเสียงที่ user ส่งมา
  • Profile – ดึงข้อมูล user profile
  • Leave – ออกจาก group/room

 

ในบทต่อเราจะมาดูกันว่า Webhook คืออะไร

 

Reference:

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com,https://devdocs.line.me

4 Thoughts to “บทที่3 วิธีใช้ LINE API (Messaging API) เพื่อทำ LINE Bot”

  1. […] บทที่3 วิธีใช้ LINE API (Messaging API) เพื่อทำ LINE Bot […]

  2. […] หรือ Messaging API ที่ได้แนะนำไปในบทที่ 2 และ บทที่ 3 […]

  3. […] บทต่อไปเราไปดู วิธีใช้ LINE API หรือ Messaging API […]

  4. […] บทที่3 ข้อกำหนกการใช้งานของ LINE API command […]

Leave a Reply